# 直接打印字符串或字符串表达式
print("Hello Python")
s = "Python"
print("Hello: " + s)

# 打印多个参数
a = 3
b = 2
print('a + b =', a + b)

# 用%格式化输出:   %s  字符串； %d   整数；   %f   小数
print("%d + %d = %d" % (a, b, a + b))

# f格式化输出
print(f'{a} + {b} = {a + b}')

# end参数: 默认是\n,所以print每打印一次会换行。 这个end参数可以设置为想要的任意值
print("end参数", end=" ")

# input键盘输入
n = input("请输入一个数字：")
print(type(n))
n = int(n) # 强制类型转换为整型
print(type(n))

# 强制类型转换
#常用的类型转换：
# 整型 int(),
# 浮点型float(),
# 字符型str(),
# 元组型tuple(),
# 列表型list(),
# 集合型set()
# 十六进制转换  hex（）
# 八进制转换    oct（）
# 二进制转换    bin（）
# int()
a = "100"
# 第二个参数是指定要转换的这个数字原来是什么进制，默认是十进制。 其它的进制还有2, 8, 16
b = int(a, 10)
print(b)

# str()
i = 88
print("数字转字符串：" + str(i))

# float()
pi = "3.14"
r = 5
print(float(pi) * r ** 2)

# list()  <=>  set()
# list转set, 再转回list， 实现去重的效果
l = [1, 3, 5, 3, 7]
set1 = set(l)
l1 = list(set1)
print(l1)

# eval()
s1 = "3 + 2"  # eval()计算表达式
a = eval(s1)
print(a,  type(a))
s2 = "print(\"abc\")"  #  eval()执行print()方法
eval(s2)
s3 = "[1, 3, 5]"  # eval() 执行list定义语句，返回list对象
l = eval(s3)
print(l, type(l))

# hex() 把十进制转为十六进制， 十六进制数以0x开头；  八进制0o开头； 二进制0b开头
print(hex(256))
print(oct(64))
print(bin(15))

# 把字母转ascii码值
print(ord('A'))


# 条件判断
# 电脑生成一个随机数，让人猜这个数（键盘输入），猜错了就提示：哈哈，你猜错了

# 导入产生随机数的库
import random

# 产生随机整数， 范围1到10
r = random.randint(1, 10)
# 输入你猜的数字
guess = int(input("请输入你猜的数字："))
# 用if语句判断是否猜中
if r != guess:
    print("哈哈，你猜错了, 实际是：",  r)

# if else语句
c = input("请输入是否还有火车票（1：有；其它数字：售罄）：")
c = int(c)

if c == 1:
    print("坐火车出行")
else:
    print("选择其它交通工具")

# 多判断语句
score = int(input("请输入您的得分："))

if score >= 90:
    print("优秀")
elif score >= 60:
    print("良好")
else:
    print("不及格")